/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package stud.cp.user.valueobjects;

import java.util.Date;

/**
 * Класс, описывающий запись истории.
 * @author Morfant
 */
public class History {

    /**
     * ID записи истории.
     */
    private Integer historyID;
    /**
     * ID оружия.
     */
    private Integer weaponID;
    /**
     * ID свойства.
     */
    private Integer propertyID;
    /**
     * ID пользователя.
     */
    private Integer userID;
    /**
     * Дата.
     */
    private Date date;
    /**
     * Новое значение.
     */
    private String newValue;
    /**
     * Старое значение.
     */
    private String oldValue;
    /**
     * Название оружия.
     */
    private String weaponName;
    /**
     * Название свойства.
     */
    private String propertyName;
    /**
     * Логин пользователя.
     */
    private String userName;

    /**
     * Общий конструктор.
     * @param historyID ID записи истории.
     * @param weaponID ID оружия.
     * @param propertyID ID свойства.
     * @param userID ID пользователя.
     * @param date Дата.
     * @param newValue Новое значение.
     * @param oldValue Старое значение.
     * @param propertyName Имя свойства.
     * @param userName Имя пользователя.
     * @param weaponName Название оружия.
     */
    public History(Integer historyID, Integer weaponID, Integer propertyID, Integer userID,
            Date date, String newValue, String oldValue, String propertyName, String userName, String weaponName) {
        this.historyID = historyID;
        this.weaponID = weaponID;
        this.propertyID = propertyID;
        this.userID = userID;
        this.date = date;
        this.newValue = newValue;
        this.oldValue = oldValue;
        this.propertyName = propertyName;
        this.userName = userName;
        this.weaponName = weaponName;
    }

    /**
     * Конструктор для создания.
     * @param weaponID ID оружия.
     * @param propertyID ID свойства.
     * @param userID ID пользователя.
     * @param date Дата.
     * @param newValue Новое значение.
     * @param oldValue Старое значение.
     */
    public History(Integer weaponID, Integer propertyID, Integer userID, Date date, String newValue, String oldValue) {
        this.weaponID = weaponID;
        this.propertyID = propertyID;
        this.userID = userID;
        this.date = date;
        this.newValue = newValue;
        this.oldValue = oldValue;
    }

    /**
     * Получить дату изменения.
     * @return
     */
    public Date getDate() {
        return date;
    }

    /**
     * Установить дату изменения.
     * @param date
     */
    public void setDate(Date date) {
        this.date = date;
    }

    /**
     * Получить ID записи истории.
     * @return
     */
    public Integer getHistoryID() {
        return historyID;
    }

    /**
     * Установить новый ID  записи истории.
     * @param historyID Новый ID  записи истории
     */
    public void setHistoryID(Integer historyID) {
        this.historyID = historyID;
    }

    /**
     * Получить новое значение.
     * @return Новое значение.
     */
    public String getNewValue() {
        return newValue;
    }

    /**
     * Установить новое значение.
     * @param newValue
     */
    public void setNewValue(String newValue) {
        this.newValue = newValue;
    }

    /**
     * Получить старое значение.
     * @return Старое значение.
     */
    public String getOldValue() {
        return oldValue;
    }

    /**
     * Установить старое значение.
     * @param oldValue Старое значение.
     */
    public void setOldValue(String oldValue) {
        this.oldValue = oldValue;
    }

    /**
     * Получить ID  свойства.
     * @return ID свойства.
     */
    public Integer getPropertyID() {
        return propertyID;
    }

    /**
     * Установить ID  свойства.
     * @param propertyID ID  свойства.
     */
    public void setPropertyID(Integer propertyID) {
        this.propertyID = propertyID;
    }

    /**
     * Получить имя свойства.
     * @return имя свойства.
     */
    public String getPropertyName() {
        return propertyName;
    }

    /**
     * Установить имя свойства.
     * @param propertyName Новое имя свойства.
     */
    public void setPropertyName(String propertyName) {
        this.propertyName = propertyName;
    }

    /**
     * Получить ID пользователя.
     * @return ID  пользователя.
     */
    public Integer getUserID() {
        return userID;
    }

    /**
     * Установить ID  пользователя
     * @param userID ID пользователя.
     */
    public void setUserID(Integer userID) {
        this.userID = userID;
    }

    /**
     * Получить имя пользователя.
     * @return Имя пользоватля.
     */
    public String getUserName() {
        return userName;
    }

    /**
     * Установить имя пользователя
     * @param userName Новое имя пользоватля.
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * Получить название оружия.
     * @return Название оружия.
     */
    public String getWeaponName() {
        return weaponName;
    }

    /**
     * Установить название оружия.
     * @param weanponName Новое название оружия.
     */
    public void setWeaponName(String weanponName) {
        this.weaponName = weanponName;
    }

    /**
     * Получить ID  оружия.
     * @return ID оружия.
     */
    public Integer getWeaponID() {
        return weaponID;
    }

    /**
     * Установить ID оружия.
     * @param weaponID ID оружия.
     */
    public void setWeaponID(Integer weaponID) {
        this.weaponID = weaponID;
    }
}
